// @ts-nocheck
const express = require('express');
const cors = require('cors');
const userRouter = require('./routes/user.js');
const adminRouter = require('./routes/admin.js');
// const empRouter = require('./routes/employee.js');
const indexRouter = require('./routes/index.js');
const roomRouter = require('./routes/room.js');
const orderRouter = require('./routes/ordering.js');
const locationRouter = require('./routes/location.js');


// /* history 配置尝试 */
// const path = require('path')    //history配置尝试
// // 导入处理history模式的模块
// const history = require('connect-history-api-fallback')
// // 注册处理history模式的中间件
// app.use(history())
// // 处理静态资源的中间件
// app.use(express.static(path.join(__dirname, './web')))

// /*  history 配置*/


const app = express();
// 处理跨域请求
app.use(cors());
// 处理请求
app.use(express.json()); //express.json=bodyParser.json
app.use(express.urlencoded({ extended: true }));

// getCode 返回一张图片 图片上的验证码是随机的
const captcha = require('svg-captcha');
const sesstion = require('express-session');
app.use(
  sesstion({
    secret: 'keyboard cat', //自定义的秘钥 用于生成sid
  })
);
app.get('/getCode', (req, res) => {
  let result = captcha.create();
  console.log(`正确答案${result.text}`);
  // 将result.text存入session对象，返回给客户端一个sessionID
  req.session.answer = result.text;
  // 返回svg图片
  res.type('svg');
  res.send(result);
  // res.send(result.data)
});
app.listen(5000, () => {
  console.log('服务器已经启动:localhost:5000');
});
app.use(
  express.urlencoded({
    extended: false,
  })
);
//使用路由器，将路由器下的路由挂载到了WEB服务器下
app.use('/users', userRouter);
app.use('/admin', adminRouter);
// app.use('/emp', empRouter);
app.use('/', indexRouter);
app.use('/room', roomRouter);
app.use('/ordering', orderRouter);
app.use('/location', locationRouter);

//添加错误处理中间件，拦截所有路由中产生的错误
app.use((err, req, res, next) => {
  //接收到的路由传递过来的错误信息
  console.log(err);
  //响应错误
  res.status(500).send({
    code: 500,
    msg: '服务器端错误',
  });
});
